A Half-Wits: Software Techniques for Low-Voltage Probabilistic Storage on Microcontrollers with NOR Flash Memory
نویسندگان
چکیده
This work analyzes the stochastic behavior of writing to embedded flash memory at voltages lower than recommended by a microcontroller’s specifications in order to reduce energy consumption. Flash memory integrated within a microcontroller typically requires the entire chip to operate on a common supply voltage almost twice as much as what the CPU portion requires. Our software approach allows the flash memory to tolerate a lower supply voltage so that the CPU may operate in a more energy-efficient manner. Energyefficient coding algorithms then cope with flash memory writes that behave unpredictably. Our software-only coding algorithms (in-place writes, multiple-place writes, RS-Berger codes, and slow writes) enable reliable storage at low voltages on unmodified hardware by exploiting the electrically cumulative nature of half-written data in write-once bits. For a sensor monitoring application using the MSP430, coding with in-place writes reduces the overall energy consumption by 34%. In-place writes are competitive when the time spent on low-voltage operations such as computation are at least four times greater than the time spent on writes to flash memory. Our evaluation shows that tightly maintaining the digital abstraction for storage in embedded flash memory comes at a significant cost to energy consumption with minimal gain in reliability. We find our techniques most effective for embedded workloads that have significant duty cycling, rare writes, or energy harvesting.
منابع مشابه
Exploiting Half-Wits: Smarter Storage for Low-Power Devices
This work analyzes the stochastic behavior of writing to embedded flash memory at voltages lower than recommended by a microcontroller’s specifications to reduce energy consumption. Flash memory integrated within a microcontroller typically requires the entire chip to operate on common supply voltage almost double what the CPU portion requires. Our approach tolerates a lower supply voltage so t...
متن کاملA Transactional Flash File System for Microcontrollers
We present a transactional file system for flash memory devices. The file system is designed for embedded microcontrollers that use an on-chip or on-board NOR flash device as a persistent file store. The file system provides atomicity to arbitrary sequences of file system operations, including reads, writes, file creation and deletion, and so on. The file system supports multiple concurrent tra...
متن کاملUsing the hardware real-time clock (RTC) in STM32 F0, F2, F3, F4 and L1 series of MCUs
Note: All examples and explanations are based on the STM32L1xx, STM32F0xx, STM32F2xx STM32F4xx and STM32F3xx firmware libraries and reference manuals of STM32L1xx (RM0038), STM32F0xx (RM0091), STM32F2xx (RM0033), STM32F4xx (RM0090), STM32F37x (RM0313) and STM32F30x(RM0316). STM32 refers to Ultra Low Power Medium-density, Ultra Low Power High-density, F0, F2 and F4 series devices in this documen...
متن کاملCircuit Techniques for 1.5-V Power Supply Flash Memory
We describe circuit techniques for a Flash memory which operates with a VDD of 1.5 V. For the interface between the peripheral circuits and the memory core circuits, two types of level shifter circuits are proposed which convert a VDD level signal into the high voltage signals needed for high performance. In order to improve the read performance at a low VDD , a new self-bias bitline voltage se...
متن کاملError Correction Codes and Signal Processing in Flash Memory
This chapter is to introduce NAND flash channel model, error correction codes (ECC) and signal processing techniques in flash memory. There are several kinds of noise sources in flash memory, such as random-telegraph noise, retention process, inter-cell interference, background pattern noise, and read/program disturb, etc. Such noise sources reduce the storage reliability of flash memory signif...
متن کامل